.TH std::basic_filebuf::showmanyc 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::basic_filebuf::showmanyc \- std::basic_filebuf::showmanyc

.SH Synopsis
   protected:
   virtual std::streamsize showmanyc()

   If implemented, returns the number of characters left to read from the file.

.SH Parameters

   \fI(none)\fP

.SH Return value

   The number of characters available for reading from the file, or -1 if the end of
   file was reached.

.SH Notes

   This function is optional. If not implemented, this function returns 0 (since the
   base class version std::basic_streambuf::showmanyc gets called)

   Whether implemented or not, this function is normally called by
   std::basic_streambuf::in_avail if the get area is empty.

   The name of this function stands for "stream: how many characters?", so it is
   pronounced "S how many C", rather than "show many C"

.SH Example

   implementation test to see if showmanyc() is implemented for filebuf


// Run this code

 #include <fstream>
 #include <iostream>

 struct mybuf : std::filebuf
 {
      using std::filebuf::showmanyc;
 };

 int main()
 {
     mybuf fin;
     fin.open("main.cpp", std::ios_base::in);
     std::cout << "showmanyc() returns " << fin.showmanyc() << '\\n';
 }

.SH Possible output:

 showmanyc() returns 267

.SH See also

   in_avail obtains the number of characters immediately available in the get area
            \fI(public member function of std::basic_streambuf<CharT,Traits>)\fP
   readsome extracts already available blocks of characters
            \fI(public member function of std::basic_istream<CharT,Traits>)\fP
